﻿/**
 @class CLiteBaseView
 @brief  CLiteBaseView 클래스의 인터페이스
 @date   2012-02-08 18:11:09
 @author  nabidream@gmail.com
*/
#pragma once
#include "afxwin.h"
#include "afxcmn.h"
#include "EnvTabDlg.h"
#include "UserTabDlg.h"
#include "ManTabDlg.h"

class CLiteBaseView : public CFormView
{
protected: // serialization에서만 만들어집니다.
	CLiteBaseView(); ///< 생성자.   magic = ENV_MAGIC;
 
	DECLARE_DYNCREATE(CLiteBaseView)

public:
	 /** @brief TRUE FALSE정의. */
	enum{ IDD = IDD_REPORTBASE_FORM /**< 연결된 리소스 ID */  };  

// 특성입니다.
public:
	CLiteBaseDoc* GetDocument() const; ///< Document Class 포인터 함수.
public:
	CEnvTabDlg  m_EnvDlg; ///< 환경 설정 표시 화면 변수.
	CUserTabDlg m_UserDlg;///< 현재 사용자 표시 화면 변수.
	CManTabDlg  m_ManDlg; ///< 관리를 위한 화면 변수.
// 재정의입니다.
public:
	virtual BOOL PreCreateWindow(CREATESTRUCT& cs); ///< 생성전 디폴트 호출 함수.
protected:
	virtual void DoDataExchange(CDataExchange* pDX);    ///< DDX/DDV 지원입니다.
	virtual void OnInitialUpdate(); ///< 생성후 처음 초기화 함수.

// 구현입니다.
public:
	virtual ~CLiteBaseView(); ///< 파괴자.
#ifdef _DEBUG
	virtual void AssertValid() const; ///< 디버그용 정합성 함수.
	virtual void Dump(CDumpContext& dc) const; ///< 디버그용 Dump 함수.
#endif

protected:

// 생성된 메시지 맵 함수
protected:
	DECLARE_MESSAGE_MAP()
public:
	CTabCtrl m_Tab; ///< Tab Control 변수.
	afx_msg void OnTcnSelchangeTabMain(NMHDR *pNMHDR, LRESULT *pResult); ///< Tab 화면의 변화시에 발생하는 이벤트 함수.
	afx_msg void OnTcnSelchangingTabMain(NMHDR *pNMHDR, LRESULT *pResult); ///< Tab 화면의 변화 발생중 발생하는 이벤트 함수.
	afx_msg void OnSize(UINT nType, int cx, int cy); ///< 크기 변경시에 발생하는 이벤트 함수.
	afx_msg void OnViewUser(); ///< 사용자 화면으로 전환 하는 이벤트 함수.
	afx_msg void OnViewMan(); ///< 관리 화면으로 전환 하는 이벤트 함수.
};

#ifndef _DEBUG  // LiteBaseView.cpp의 디버그 버전
inline CLiteBaseDoc* CLiteBaseView::GetDocument() const
   { return reinterpret_cast<CLiteBaseDoc*>(m_pDocument); }
#endif

